/********************************************
 * 功能说明: 
 * 模块名称: 
 * 系统名称: 
 * 软件版权: 
 * 系统版本: 1.0.0
 * 开发人员: Frank
 * 开发时间: 2019/12/5 22:00
 * 审核人员: 
 * 相关文档: 
 * 修改记录: 修改日期 修改人员 修改说明
 *********************************************/
package com.spring.arch.common.db;

import java.util.StringJoiner;

/**
 * 数据库类型
 *
 * @author Frank
 * @version 1.0.0.1
 * @since 2019/12/5 22:00
 */
public enum DBType {

    /**
     * mysql
     */
    MYSQL("jdbc:mysql://{host}:{port}/{dbName}"),
    SQL_SERVER("jdbc:sqlserver://{host}:{port};databaseName={dbName}"),
    ORACLE("jdbc:oracle:thin:@//{host}:{port}/{dbName}"),
    ;

    private String url;

    DBType(String url) {
        this.url = url;
    }

    public String getUrl(String host, int port, String dbName, String param) {
        String url = this.url.replace("{host}", host)
                .replace("{port}", String.valueOf(port))
                .replace("{dbName}", dbName);
        return new StringJoiner("?").add(url).add(param).toString();
    }
}
